package es.android.supermanager;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.StringReader;
import java.net.URL;
import java.net.URLConnection;

import org.apache.http.util.ByteArrayBuffer;

import android.util.Log;

public class InsertarDatos {


	public InsertarDatos() {
		
	}
	
	public Jugador [] sacarDatos(String filename) {
		
		Jugador[] jugadores;
		String resultado;
		
		try {
			URL url = new URL("http://supermanager.googlecode.com/files/"+filename+".txt");
			URLConnection c = url.openConnection();

			InputStream is = c.getInputStream();

			BufferedInputStream bis = new BufferedInputStream(is);

			ByteArrayBuffer baf = new ByteArrayBuffer(50);
			int current = 0;
			while ((current = bis.read()) != -1) {
				baf.append((byte) current);
			}

			resultado = new String(baf.toByteArray());
		} catch (Exception e) {
			resultado = e.getMessage();
		}
		
		jugadores = this.insertarDatos(resultado);
//		resultado = jugadores[0].toString();
		
		return jugadores;

	}
	
	public Jugador[] insertarDatos (String texto) {

		Jugador[] jugadores = new Jugador[100];
		String str;
	      
	      String datos = "";
	      int contador = 1;
	      
	      int num_jugador = 0;
	      Jugador jugador = new Jugador();
	      
//	      texto = texto.replace(".", "");
	      texto = texto.replace(',','.');
	      
	      BufferedReader reader = new BufferedReader(
	    		  new StringReader(texto));
	    		        
	    		try {
	    		  while ((str = reader.readLine()) != null) {
	    		          
	    			  if (str.length()>0) 
	    				  if (str.charAt(0) != ' ') {
	    					  switch (contador) {
	    					  case 1: 
	    						  jugador.setCodigo(str);
	    						  break;
	    					  case 2: 
	    						  jugador.setNombre(str);
	    						  break;
	    					  case 3:
	    						  jugador.setEquipo(str);
	    						  break;
	    					  case 4:
	    						  jugador.setGanados(str);
	    						  break;
	    					  case 5:
	    						  jugador.setMedia(Float.valueOf(str));
	    						  break;
	    					  case 6:
	    						  str.replace(" ","");
	    						  jugador.setPrecio(Float.valueOf(str).intValue());
	    						  break;
	    					  case 7:
	    						  jugador.setTiempo(str);
	    						  break;
	    					  case 8:
	    						  jugador.setVal_ultima(Float.valueOf(str));
	    						  break;
	    					  case 9:
	    						  jugador.setVal_3(Float.valueOf(str));
	    						  break;
	    					  case 10:
	    						  jugador.setSube15(Float.valueOf(str));
	    						  break;
	    					  case 11:
	    						  jugador.setSe_mantiene(Float.valueOf(str));
	    						  break;
	    					  case 12:
	    						  jugador.setBaja15(Float.valueOf(str));
	    						  contador = 0;
	    						  jugadores[num_jugador] = jugador;
	    						  jugador = new Jugador();
	    						  num_jugador++;
	    						  
	    					  }
		    		          contador ++;     
			  
	    				  }
	    		}

	    		} catch(IOException e) {
	    		  e.printStackTrace();
	    		}

		return jugadores;
	}
	
	
	
}
